/**
 * 
 */
package ar.uade.distribuidas.tpo.dba.dominio;

import java.util.LinkedList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.joda.time.DateTime;

@Entity
@Table(name = "cotizaciones")
public class Cotizacion {

	@Id
	private int id;

	@ManyToOne
	@JoinColumn(name = "cliente_id")
	private Cliente cliente;
	private DateTime fechaDesde;
	private int diasDeVigencia;
	// @ManyToOne
	// @JoinColumn(name = "condicion_id")
	// private CondicionDeVenta condicion;

	@OneToMany(cascade = CascadeType.ALL)
	@JoinTable(
			name = "cotizaciones_items", 
			joinColumns = @JoinColumn(name = "cotizacion_id"), 
			inverseJoinColumns = @JoinColumn(name = "item_id"))
	private List<ItemCotizacion> itemsCotizacion;

	public Cotizacion() {
		this.itemsCotizacion = new LinkedList<>();
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public DateTime getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(DateTime fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public int getDiasDeVigencia() {
		return diasDeVigencia;
	}

	public void setDiasDeVigencia(int diasDeVigencia) {
		this.diasDeVigencia = diasDeVigencia;
	}

	public List<ItemCotizacion> getItemsCotizacion() {
		return itemsCotizacion;
	}

	public void setItemsCotizacion(List<ItemCotizacion> itemsCotizacion) {
		this.itemsCotizacion = itemsCotizacion;
	}

	// public CondicionDeVenta getCondicion() {
	// return condicion;
	// }
	//
	// public void setCondicion(CondicionDeVenta condicion) {
	// this.condicion = condicion;
	// }

}